GtkPathBar: Make recoloring symbolics work
authorMatthias Clasen <mclasen@redhat.com>
Wed, 13 Aug 2014 13:29:40 +0000 (09:29 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 13 Aug 2014 13:29:40 +0000 (09:29 -0400)
We were only recreating the icons the very first time the theme
changed, and not every time as was intended.

gtk/gtkpathbar.c

index aa95a32147521e8be02018ca70085c731f0daee5..1a1c2b21f09e416a7cba9ceecc4a9ee30f1673a5 100644 (file)
@@ -1277,6 +1277,7 @@ change_icon_theme (GtkPathBar *path_bar)
 
   reload_icons (path_bar);
 }
+
 /* Callback used when a GtkSettings value changes */
 static void
 settings_notify_cb (GObject    *object,
@@ -1294,13 +1295,14 @@ settings_notify_cb (GObject    *object,
 static void
 gtk_path_bar_check_icon_theme (GtkPathBar *path_bar)
 {
-  GtkSettings *settings;
-
-  if (path_bar->priv->settings_signal_id)
-    return;
+  if (path_bar->priv->settings_signal_id == 0)
+    {
+      GtkSettings *settings;
 
-  settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (path_bar)));
-  path_bar->priv->settings_signal_id = g_signal_connect (settings, "notify", G_CALLBACK (settings_notify_cb), path_bar);
+      settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (path_bar)));
+      path_bar->priv->settings_signal_id = g_signal_connect (settings, "notify",
+                                                             G_CALLBACK (settings_notify_cb), path_bar);
+    }
 
   change_icon_theme (path_bar);
 }